unit DatosClienteBase;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Base, StdCtrls, Buttons, XPMan, ComCtrls, ToolWin, ExtCtrls;

type
  TfrmDatosClienteBase = class(TfrmBase)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    edtNumeroCliente: TEdit;
    edtNombreCliente: TEdit;
    edtApellidoCliente: TEdit;
    edtDomicilioCliente: TEdit;
    edtCodProvincia: TEdit;
    edtCodLocalidad: TEdit;
    edtCodCondicionIva: TEdit;
    edtCodPreventivo: TEdit;
    edtEmail: TEdit;
    edtTelefono: TEdit;
    cmbProvincia: TComboBox;
    cmbLocalidad: TComboBox;
    cmbCondicionIva: TComboBox;
    cmbPreventivo: TComboBox;
    btnNuevoTelefono: TBitBtn;
    ltsTelefonos: TListBox;
    btnCancelar: TBitBtn;
    btnAceptar: TBitBtn;
    procedure ListaProvincia();
    procedure ListaLocalidad(codProvincia:integer);
    procedure ListaCondicionIva();
    procedure ListaPreventivo();
    procedure cmbProvinciaChange(Sender: TObject);
    procedure cmbLocalidadChange(Sender: TObject);
    procedure cmbCondicionIvaChange(Sender: TObject);
    procedure cmbPreventivoChange(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmDatosClienteBase: TfrmDatosClienteBase;

implementation

uses Datos;

{$R *.dfm}

{ TfrmDatosClienteBase }

procedure TfrmDatosClienteBase.ListaCondicionIva;
var objeto:TCondicionIva;
begin
  frmDatos.tblCondicionIva.Active := true;
  frmDatos.tblCondicionIva.First;
  while not frmDatos.tblCondicionIva.eof do
    begin
      objeto:= TCondicionIva.Create;
      objeto.codigo := frmDatos.tblCondicionIva['cod_condicion_iva'];
      objeto.descripcion := frmDatos.tblCondicionIva['descripcion_condicion_iva'];
      cmbCondicionIva.Items.AddObject(objeto.descripcion,objeto);
      frmDatos.tblCondicionIva.Next;
    end;
  frmDatos.tblCondicionIva.Active := false;
end;

procedure TfrmDatosClienteBase.ListaLocalidad(codProvincia:integer);
var objeto:TLocalidad;
begin
  cmbLocalidad.Clear;
  frmDatos.tblLocalidades.Active := true;
  frmDatos.tblLocalidades.First;
  while not frmDatos.tblLocalidades.Eof do
    begin
      if frmDatos.tblLocalidades['cod_provincia']=codProvincia then
        begin
          objeto := TLocalidad.Create;
          objeto.codigo := frmDatos.tblLocalidades['cod_localidad'];
          objeto.descripcion := frmDatos.tblLocalidades['descripcion_localidad'];
          objeto.codigoProvincia := frmDatos.tblLocalidades['cod_provincia'];
          cmbLocalidad.Items.AddObject(objeto.descripcion,objeto);
        end;
      frmDatos.tblLocalidades.Next;
    end;
  frmDatos.tblLocalidades.Active := false;
end;

procedure TfrmDatosClienteBase.ListaPreventivo;
begin
  cmbPreventivo.Items.Add('SI');
  cmbPreventivo.Items.Add('NO');
end;

procedure TfrmDatosClienteBase.ListaProvincia;
var objeto:TProvincia;
begin
  cmbProvincia.Clear;
  frmDatos.tblProvincia.Active := true;
  frmDatos.tblProvincia.First;
  while not frmDatos.tblProvincia.Eof do
    begin
      objeto := TProvincia.Create;
      objeto.codigo := frmDatos.tblProvincia['cod_provincia'];
      objeto.descripcion := frmDatos.tblProvincia['descripcion_provincia'];
      cmbProvincia.Items.AddObject(objeto.descripcion,objeto);
      frmDatos.tblProvincia.Next;
    end;
  frmDatos.tblProvincia.Active := false;
end;

procedure TfrmDatosClienteBase.cmbProvinciaChange(Sender: TObject);
var posicion:integer;
    itemProvincia:TProvincia;
begin
  inherited;
  posicion:=cmbProvincia.ItemIndex;
  itemProvincia:=TProvincia(cmbProvincia.Items.Objects[posicion]);
  edtCodProvincia.Text := IntToStr(itemProvincia.codigo);

  ListaLocalidad(itemProvincia.codigo);
end;

procedure TfrmDatosClienteBase.cmbLocalidadChange(Sender: TObject);
var posicion:integer;
    itemLocalidad:TLocalidad;
begin
  inherited;
  posicion:=cmbLocalidad.ItemIndex;
  itemLocalidad:=TLocalidad(cmbLocalidad.Items.Objects[posicion]);
  edtCodLocalidad.Text := IntToStr(itemLocalidad.codigo);
end;

procedure TfrmDatosClienteBase.cmbCondicionIvaChange(Sender: TObject);
var itemCondicion:TCondicionIva;
    posicion:integer;
begin
  posicion:=cmbCondicionIva.ItemIndex;
  itemCondicion:=TCondicionIva(cmbCondicionIva.Items.Objects[posicion]);
  edtCodCondicionIva.Text := IntToStr(itemCondicion.codigo);
end;

procedure TfrmDatosClienteBase.cmbPreventivoChange(Sender: TObject);
var posicion:integer;
begin
  inherited;
  posicion:=cmbPreventivo.ItemIndex;
  if posicion=0 then
    edtCodPreventivo.Text:= 'True'
  else
    edtCodPreventivo.Text := 'False';
end;

end.
